package com.hspedu.Bignum;

import java.math.BigDecimal;

/**
 * @Author Stringzhua
 * @Date 2024/3/10 11:47
 * description:
 */
public class BigDecimal_ {
    public static void main(String[] args) {
        //当需要保存精度很高的数时,double不够用
        //可以使用BigDecimal来解决
//        double d=1999.111111111111111119999999999999999999999999999999999999d;
//        System.out.println(d);
        BigDecimal bigDecimal = new BigDecimal("1999.111111111111111119999999999999999999999999999999999999");
        BigDecimal bigDecimal1 = new BigDecimal("1.1");
        System.out.println(bigDecimal);
        //1.如果对BigDecimal进行加减乘除需要使用对应的方法
        //创建一个需要操作的BigDecimal,然后调用相应的操作即可
        System.out.println(bigDecimal.add(bigDecimal1));//加法
        System.out.println(bigDecimal.subtract(bigDecimal1));//减法
        System.out.println(bigDecimal.multiply(bigDecimal1));//乘法
//        System.out.println(bigDecimal.divide(bigDecimal1));//除法  可能抛出异常ArithmeticException
        //在调用divide方法时,指定精度即可
        //如果存在无限循环小数,保留分子的精度即可
        System.out.println(bigDecimal.divide(bigDecimal1, BigDecimal.ROUND_CEILING));
    }
}
